const app = getApp()
// 导入API工具
import { goodsAPI } from '../../utils/api';

Page({
  data: {
    goodsList: [], // 商品列表
    loading: false, // 加载状态
    page: 1, // 当前页码
    pageSize: 10, // 每页条数
    hasMoreData: true // 是否有更多数据
  },

  onLoad: function () {
    console.log('首页加载成功');
    // 从服务器获取商品列表数据
    this.loadGoodsList();
  },
  
  // 加载商品列表数据
  loadGoodsList: function(refresh = false) {
    if (this.data.loading) return;
    
    // 如果是刷新，则重置页码和数据
    if (refresh) {
      this.setData({
        page: 1,
        goodsList: [],
        hasMoreData: true
      });
    }
    
    // 如果没有更多数据，则不再请求
    if (!this.data.hasMoreData) {
      wx.stopPullDownRefresh();
      return;
    }
    
    this.setData({ loading: true });
    
    goodsAPI.getGoodsList(this.data.page, this.data.pageSize)
      .then(res => {
        console.log('获取商品列表成功:', res);
        
        if (res.success && res.data) {
          // 处理商品列表中的图片路径
          const newGoodsList = res.data.map(goods => {
            // 如果图片是以/开头的相对路径，添加完整的服务器地址
            if (goods.image && goods.image.startsWith('/')) {
              return {
                ...goods,
                image: 'http://localhost:3000' + goods.image
              };
            }
            return goods;
          });
          
          const goodsList = refresh ? newGoodsList : [...this.data.goodsList, ...newGoodsList];
          
          // 检查是否还有更多数据
          const hasMoreData = newGoodsList.length === this.data.pageSize;
          
          this.setData({
            goodsList: goodsList,
            hasMoreData: hasMoreData,
            page: this.data.page + 1
          });
          
          // 保存商品数据到全局，方便详情页获取
          app.globalData = app.globalData || {};
          app.globalData.goodsList = goodsList;
        } else {
          wx.showToast({
            title: res.message || '获取商品列表失败',
            icon: 'none'
          });
        }
      })
      .catch(err => {
        console.error('获取商品列表失败:', err);
        wx.showToast({
          title: '获取商品列表失败，请稍后重试',
          icon: 'none'
        });
      })
      .finally(() => {
        this.setData({ loading: false });
        wx.stopPullDownRefresh();
      });
  },

  // 商品卡片点击事件处理函数
  onCardTap: function(e) {
    const id = e.currentTarget.dataset.id;
    console.log('点击的商品ID:', id);
    
    // 跳转到商品详情页
    wx.navigateTo({
      url: `/pages/detail/detail?id=${id}`
    });
  },

  // 下拉刷新处理
  onPullDownRefresh: function() {
    console.log('首页下拉刷新');
    this.loadGoodsList(true); // 刷新数据
  },
  
  // 上拉触底加载更多
  onReachBottom: function() {
    console.log('首页上拉触底');
    this.loadGoodsList(); // 加载更多数据
  }
})
